/**
 * Project Name:九色鹿
 * File Name:ReqRegSalesMan.java
 * Package Name:com.fxp.project.jiuselu.web.models.user.request
 * Date:2021年09月15日 14:31
 * Copyright (c) 2021, Jason.Wang All Rights Reserved.
 */
package com.fxp.project.jiuselu.web.models.user.request;

import com.fxp.project.jiuselu.web.base.request.ReqBase;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

/**
 * ClassName:ReqRegSalesMan<br/>
 * Function: 注册业务员<br/>
 * Date:2021年09月15日 14:31<br/>
 *
 * @author Jason.Wang
 * @version 1.0.0.0
 * @see
 * @since JDK 8
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class ReqRegSalesMan extends ReqBase {
    /**
     * 用户真实姓名
     */
    @Length(min = 2, max = 60, message = "请输入真实姓名")
    @NotBlank(message = "请输入真实姓名")
    private String saleName;
    /**
     * 用户年龄
     */
    @NotNull(message = "请输入真实年龄")
    private Integer saleAge;
    @Length(min = 11, max = 11, message = "必须输入11位的手机号码")
    @NotBlank(message = "当前手机号码不能为空")
    @Pattern(regexp = "^[1][3,5,6,7,8,9][0-9]{9}$", message = "请输入正确的手机号码")
    private String salePhone;
    /**
     * 用户性别信息
     */
    @NotNull(message = "请选择用户性别")
    private Integer saleSex;
    /**
     * 身份证号码
     */
    @Length(min = 15, max = 18, message = "只支持15、18位身份证号码")
    @Pattern(regexp = "^\\d{15}|^\\d{17}([0-9]|X|x)$", message = "请输入正确的身份证号码")
    @NotBlank(message = "请输入身份证号码")
    private String idCard;

    @NotBlank(message = "请上传身份证正面")
    private String idCardFront;

    @NotBlank(message = "请上传身份证反面")
    private String idCardBack;
    /**
     * 省份
     */
    @NotNull(message = "请输入详细地址")
    private Long provinceId;
    /**
     * 省份
     */
    @NotNull(message = "请输入详细地址")
    private String provinceName;
    /**
     * 市区
     */
    @NotNull(message = "请输入详细地址")
    private Long cityId;
    /**
     * 市区
     */
    @NotNull(message = "请输入详细地址")
    private String cityName;

    /**
     * 区域Id
     */
    @NotNull(message = "请输入详细地址")
    private Long districtId;
    /**
     * 区域
     */
    @NotNull(message = "请输入详细地址")
    private String districtName;

    /**
     * 用户的详细地址信息
     */
    @Length(max = 60, message = "请输入详细地址")
    @NotBlank(message = "请输入详细地址")
    private String address;
    /**
     * 工资经验
     */
    @Length(max = 100, message = "工作经验最大长度为100")
    private String experience;

    private Long inviteCode;

    private Long inviteId;

    //1微信扫码注册
    private Integer type;

    private String openId;

}
